<template>
  <h1>表单组件</h1>
  <el-form style="width: 500px;margin: 0 auto;" label-width="80px">
    <el-form-item label="用户名">
      <el-input placeholder="请输入用户名"></el-input>
    </el-form-item>
    <el-form-item label="密码">
      <el-input placeholder="请输入密码" show-password></el-input>
    </el-form-item>
    <el-form-item label="性别">
      <el-radio-group v-model="user.gender">
        <el-radio label="男" value="1"></el-radio>
        <el-radio label="女" value="0"></el-radio>
      </el-radio-group>
    </el-form-item>
    <el-form-item label="所在地">
      <el-select placeholder="请选择" v-model="user.city">
        <el-option label="上海" value="sh"></el-option>
        <el-option label="北京" value="bj"></el-option>
        <el-option label="广州" value="gz"></el-option>
      </el-select>
    </el-form-item>
    <el-form-item label="管理员">
      <el-switch v-model="user.isAdmin"></el-switch>
    </el-form-item>
    <el-form-item>
      <el-button type="success" @click="reg">点我提交</el-button>
    </el-form-item>
  </el-form>
  <h1>题目1</h1>
  <p v-if="isShow">段落1</p>
  <p v-show="isShow">段落2</p>
  <button @click="changeStatus">点我切换显示状态</button>
  <h1>题目2</h1>
  <input type="text" placeholder="请将要展示的图片地址粘贴到此处" v-model="imgUrl">
  <img :src="imgUrl" alt="无效链接">
  <h1>题目3</h1>
  <ul>
    <li v-for="(item,index) in proArr">
      {{item}}
      <el-button type="danger" size="small" @click="del(index)">删除</el-button>
    </li>
  </ul>
</template>

<script setup>
import { ref } from 'vue';
const user = ref({
  username: '',
  password: '',
  gender: '',
  city: '',
  isAdmin: false
});
const reg = () => {
  console.log(user.value);
}
// 1. 创建一个按钮点击按钮可以切换p标签的显示状态,要求使用 v-if 控制第一个段落是否渲染,用 v-show 控制第二个段落的可见性
const isShow = ref(true);
const changeStatus = () => {
  isShow.value = !isShow.value;
}
//2. 创建一个动态图片展示组件,包含一个输入框,当用户输入图片URL后,下方的 <img> 元素将动态绑定并显示该图片
const imgUrl = ref('');
//3. 定义一个包含至少5个商品名称的数组,利用 v-for 将其渲染为无序列表,并为每个商品添加删除功能
const proArr = ref(['苹果', '香蕉', '橘子', '葡萄', '西瓜']);
function del(index) {
  proArr.value.splice(index, 1);
}
</script>

<style scoped>

</style>